package admin

import (
	"context"
	"net/http"

	"gitee.com/mkwchecking/k-scaffold/apps/register"
	"github.com/go-kratos/kratos/v2/middleware"
	"github.com/go-kratos/kratos/v2/transport/grpc"
	khttp "github.com/go-kratos/kratos/v2/transport/http"
	"github.com/spf13/cobra"
)

func init() {
	register.RegisterApp(&AdminApp{})
}

var (
	_ register.IApp          = (*AdminApp)(nil)
	_ register.IHttpRouter   = (*AdminApp)(nil)
	_ register.IGrpcRegister = (*AdminApp)(nil)
	_ register.ITransport    = (*AdminApp)(nil)
	_ register.ICmdRegister  = (*AdminApp)(nil)
)

type AdminApp struct {
}

// Init implements register.IApp.
func (a *AdminApp) Init(ctx context.Context) error {
	panic("unimplemented")
}

// Name implements register.IApp.
func (a *AdminApp) Name() string {
	panic("unimplemented")
}

// GetCommands implements register.ICmdRegister.
func (a *AdminApp) GetCommands() []*cobra.Command {
	return make([]*cobra.Command, 0)
}

// RegisterGrpcServer implements register.IGrpcRegister.
func (a *AdminApp) RegisterGrpcServer(ctx context.Context, srv *grpc.Server) error {
	panic("unimplemented")
}

// GetHttpMiddlewares implements register.ITransport.
func (a *AdminApp) GetHttpMiddlewares() []middleware.Middleware {
	panic("unimplemented")
}

// InstallHttpRouter implements register.IHttpRouter.
func (a *AdminApp) InstallHttpRouter(ctx context.Context, srv *khttp.Server, handler http.Handler) error {
	panic("unimplemented")
}
